package tests;

class Simple<T> extends SuperSimple<T>, implements Dynamic<T> ,implements ArrayAccess<T> , implements ISimple
{

	public var aha:String;
	
	public function contract()
	{
		return ;
	}
	
	function new( data:T )
	{
		super();
		
		
		aha = "ahahaha";
		
		trace("Simple!");
	
		
		
	}
	
	/*
	* The main entry point of your stupid program !
	*/
	static function main()
	{
		var sim = new Simple<String>("data");
	}
}

class SuperSimple<T> 
{
	function new () {}
}

interface ISimple 
{
	var aha: String; 
	
	function contract():Void;
}